test/gtkgears.c: Fix on C89 Compilers
authorChun-wei Fan <fanchunwei@src.gnome.org>
Fri, 6 Mar 2015 03:01:30 +0000 (11:01 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Fri, 6 Mar 2015 15:47:35 +0000 (23:47 +0800)
Make sure that variables are declared at the top of the block.

Break up one of the sincos() calls into individual calls to sin() and cos()
so that we do not have to complicate the initialization of the following
GLfloat array.

tests/gtkgears.c

index fe36bf4822c7ba5f547922a4546d03da79ede3bf..7a2807172782cca6839619ca48220ff3e6aee4b4 100644 (file)
@@ -408,9 +408,9 @@ multiply (GLfloat *m, const GLfloat *n)
 static void
 rotate(GLfloat *m, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
 {
-   double s, c;
+   double s = sin (angle);
+   double c = cos (angle);
 
-   sincos(angle, &s, &c);
    GLfloat r[16] = {
       x * x * (1 - c) + c,     y * x * (1 - c) + z * s, x * z * (1 - c) - y * s, 0,
       x * y * (1 - c) - z * s, y * y * (1 - c) + c,     y * z * (1 - c) + x * s, 0,
@@ -511,10 +511,9 @@ invert(GLfloat *m)
 void perspective(GLfloat *m, GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar)
 {
    GLfloat tmp[16];
-   identity(tmp);
-
    double sine, cosine, cotangent, deltaZ;
    GLfloat radians = fovy / 2 * M_PI / 180;
+   identity(tmp);
 
    deltaZ = zFar - zNear;
    sincos(radians, &sine, &cosine);